From 5e42a5277eddafd312a73e355d7775a4401dae4e Mon Sep 17 00:00:00 2001
From: Emmanuele Bassi <ebassi@gnome.org>
Date: Fri, 3 Feb 2023 15:40:12 +0100
Subject: [PATCH] tee: Fix cairo wrapper functions

Follow-up to !391 to apply the same changes to the (disabled by default)
tee surface.

Fixes: #634
---
 src/cairo-tee-surface.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/src/cairo-tee-surface.c b/src/cairo-tee-surface.c
index 7a94c9bca..4994a5a60 100644
--- a/src/cairo-tee-surface.c
+++ b/src/cairo-tee-surface.c
@@ -220,12 +220,12 @@ _cairo_tee_surface_paint (void			*abstract_surface,
     num_slaves = _cairo_array_num_elements (&surface->slaves);
     slaves = _cairo_array_index (&surface->slaves, 0);
     for (n = 0; n < num_slaves; n++) {
-	status = _cairo_surface_wrapper_paint (&slaves[n], op, source, clip);
+	status = _cairo_surface_wrapper_paint (&slaves[n], op, source, 0, clip);
 	if (unlikely (status))
 	    return status;
     }
 
-    return _cairo_surface_wrapper_paint (&surface->master, op, source, clip);
+    return _cairo_surface_wrapper_paint (&surface->master, op, source, 0, clip);
 }
 
 static cairo_int_status_t
@@ -244,13 +244,17 @@ _cairo_tee_surface_mask (void			*abstract_surface,
     slaves = _cairo_array_index (&surface->slaves, 0);
     for (n = 0; n < num_slaves; n++) {
 	status = _cairo_surface_wrapper_mask (&slaves[n],
-					      op, source, mask, clip);
+					      op, source, 0,
+                                              mask, 0,
+                                              clip);
 	if (unlikely (status))
 	    return status;
     }
 
     return _cairo_surface_wrapper_mask (&surface->master,
-					op, source, mask, clip);
+					op, source, 0,
+                                        mask, 0,
+                                        clip);
 }
 
 static cairo_int_status_t
@@ -274,7 +278,7 @@ _cairo_tee_surface_stroke (void				*abstract_surface,
     slaves = _cairo_array_index (&surface->slaves, 0);
     for (n = 0; n < num_slaves; n++) {
 	status = _cairo_surface_wrapper_stroke (&slaves[n],
-						op, source,
+						op, source, 0,
 						path, style,
 						ctm, ctm_inverse,
 						tolerance, antialias,
@@ -284,7 +288,7 @@ _cairo_tee_surface_stroke (void				*abstract_surface,
     }
 
     return _cairo_surface_wrapper_stroke (&surface->master,
-					  op, source,
+					  op, source, 0,
 					  path, style,
 					  ctm, ctm_inverse,
 					  tolerance, antialias,
@@ -310,7 +314,7 @@ _cairo_tee_surface_fill (void				*abstract_surface,
     slaves = _cairo_array_index (&surface->slaves, 0);
     for (n = 0; n < num_slaves; n++) {
 	status = _cairo_surface_wrapper_fill (&slaves[n],
-					      op, source,
+					      op, source, 0,
 					      path, fill_rule,
 					      tolerance, antialias,
 					      clip);
@@ -319,7 +323,7 @@ _cairo_tee_surface_fill (void				*abstract_surface,
     }
 
     return _cairo_surface_wrapper_fill (&surface->master,
-					op, source,
+					op, source, 0,
 					path, fill_rule,
 					tolerance, antialias,
 					clip);
@@ -361,7 +365,7 @@ _cairo_tee_surface_show_text_glyphs (void		    *abstract_surface,
     for (n = 0; n < num_slaves; n++) {
 	memcpy (glyphs_copy, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
 	status = _cairo_surface_wrapper_show_text_glyphs (&slaves[n], op,
-							  source,
+							  source, 0,
 							  utf8, utf8_len,
 							  glyphs_copy, num_glyphs,
 							  clusters, num_clusters,
@@ -374,7 +378,7 @@ _cairo_tee_surface_show_text_glyphs (void		    *abstract_surface,
 
     memcpy (glyphs_copy, glyphs, sizeof (cairo_glyph_t) * num_glyphs);
     status = _cairo_surface_wrapper_show_text_glyphs (&surface->master, op,
-						      source,
+						      source, 0,
 						      utf8, utf8_len,
 						      glyphs_copy, num_glyphs,
 						      clusters, num_clusters,
-- 
GitLab

